# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Severed Steel Template

game: Severed Steel
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Severed Steel: 1.0.0 # Version of the world required for this yaml to work as expected.

Severed Steel:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ################
  # Goal Options #
  ################
  goal:
    # Determines the victory condition.
    # 
    # EdenSys Root Keys + Final Level: Collect enough EdenSys Root Keys to unlock a Final Level and clear it.
    # EdenSys Root Key Hunt: Collect a set number of EdenSys Root Keys spread across the multiworld.
    edensys_root_keys_final_level: 50
    edensys_root_key_hunt: 0

  edensys_root_keys_total:
    # Determines how many EdenSys Root Keys are in the item pool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 25
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-25: 0 # random value between 1 and 25

  edensys_root_keys_required:
    # Determines how many EdenSys Root Keys are required to either win or unlock the final level.
    # 
    # If this number is higher than the total number of EdenSys Root Keys, it will be set to that number instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 25
    15: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-25: 0 # random value between 1 and 25

  #################
  # Level Options #
  #################
  level_selection:
    # Determines which Levels can be considered for inclusion in the multiworld.
    # 
    # Set any Level you don't want to possibly play as to false.
    # 
    # A minimum of 12 Levels must be selected.
    APARTMENTS: true
    ARMORY: true
    ART GALLERY: true
    BARRACKS: true
    CAFETERIA: true
    CEO OFFICE: true
    CHECKPOINT: true
    CIPHER: true
    CITY: true
    CLEAVE: true
    CONSCIENCE: true
    CORRIDOR: true
    COSMOLOGY: true
    CROSS: true
    CYBERMEDICINE: true
    DATA PRISM: true
    EPOCH: true
    ESCAPISM: true
    ESTATE: true
    FLOAT: true
    FOREST: true
    GARDEN: true
    GREENS: true
    HOSPITAL VENTS: true
    IMPACT: true
    INTELLIGENCE: true
    LOWER ADMIN: true
    MIDDLE ADMIN: true
    MIRAGE: true
    MUSEUM: true
    NEBULA: true
    PARTY MANSION: true
    PENTHOUSE: true
    PORTAL LAB: true
    PRISON: true
    PRODUCTION LAB: true
    R&D LAB: true
    RECEPTION: true
    RED PROCESSING: true
    REDHOUSE: true
    SERVER ROOM: true
    SUBWAY VENTS: true
    THE WALL: true
    TOWERS: true
    TRAIN: true
    TRAIN STATION: true
    TRAIN ZERO: true
    UPPER ADMIN: true
    VANGUARD: true
    VENTS 3: true
    WASTE MANAGEMENT: true

  level_count:
    # Determines how many Levels will be picked for inclusion in the multiworld.
    # 
    # If this number is higher than the size of your Level selection, it will be set to that number instead.
    # 
    # Note: Setting this to a value under 20 will prevent the activation of the include_overpowered_items option.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 12
    # Maximum value is 51
    16: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-12-51: 0 # random value between 12 and 51

  mutator_percentage:
    # Determines what percentage of levels will require being played with a specific Mutator active.
    # 
    # The Severed Steel Archipelago client will display which Mutator is required for each level under the Severed Steel tab.
    # It will also unlock all Mutators if you haven't unlocked them all for Firefight 2.0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  mutator_pool_type:
    # Determines the Mutator Pool Type.
    # 
    # Only Debuffs: Only pick from Mutators that are detrimental to the player
    # Mostly Debuffs: Many debuffs, few neutrals, few buffs
    # Balanced: A good mix of everything
    # Mostly Buffs: Many buffs, few neutrals, few debuffs
    # Only Buffs: Only pick from Mutators that are a boon to the player
    # Oops All Triple Threat: Only pick Triple Threat
    # Oops All The Same: Only pick one random Mutator that gets applied to all levels
    # 
    # Keep in mind Buffs will generally apply a 0.X multiplier to your score.
    only_debuffs: 0
    mostly_debuffs: 0
    balanced: 50
    mostly_buffs: 0
    only_buffs: 0
    oops_all_triple_threat: 0
    oops_all_the_same: 0

  mirrored_percentage:
    # Determines what percentage of levels will require being played Mirrored.
    # 
    # The Severed Steel Archipelago client will display if Mirrored is required for each level under the Severed Steel tab.
    # It will also unlock the Mirrored option for each level if you haven't unlocked them all for Firefight 2.0.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ####################
  # Location Options #
  ####################
  include_target_times:
    # If enabled, locations for meeting a Target Time on each level will be created when generating the multiworld.
    'false': 50
    'true': 0

  include_challenges:
    # If enabled, locations for completing both Challenges on each level will be created when generating the multiworld.
    'false': 50
    'true': 0

  include_stylish_action_challenges:
    # If enabled, locations for completing a set number of random Stylish Action Challenges on each level will be created when generating the multiworld.
    # 
    # The following Stylish Actions can be used when generating a Challenge:
    # Dive Frag, Wall Run Frag, Flip Frag, Kickslide, Slide Frag, Quick Shot, Multikill, Throw Hit, Cannon Frag, Drop Kick, Wall Bang, Stole Weapon, Air Shot, Kick, Nice Throw
    # 
    # The Severed Steel Archipelago client will display the appropriate Stylish Action Challenges when a level is loaded under the Severed Steel tab.
    'false': 50
    'true': 0

  stylish_action_challenge_count_per_level:
    # Determines how many random Stylish Action Challenges will be generated for each level to have locations for, if Stylish Action Challenges are included.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  ####################################
  # Difficulty Customization Options #
  ####################################
  rank_score_requirement_mode:
    # Determines how Rank Score requirements are set.
    # 
    # Same for All Levels: A single percentage will be applied to the Rank Score requirements of all levels
    # Random per Level: Each level will have a random percentage applied to its Rank Score requirements
    same_for_all_levels: 50
    random_per_level: 0

  rank_score_requirement_percentage:
    # Determines the percentage to apply Rank Score requirements. You will not unlock Rank-related location checks until
    # you reach or exceed the Score requirements for each rank on a given level.
    # 
    # When the requirement mode is set to random per level, the specified percentage will act as the maximum possible.
    # 
    # The Severed Steel Archipelago client will display the appropriate Rank Score requirements when a level is loaded under the Severed Steel tab.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 250
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-250: 0 # random value between 50 and 250

  target_time_requirement_mode:
    # Determines how Target Time requirements are set, if they are included.
    # 
    # Same for All Levels: A single percentage will be applied to the Target Time requirements of all levels
    # Random per Level: Each level will have a random percentage applied to its Target Time requirements
    same_for_all_levels: 50
    random_per_level: 0

  target_time_requirement_percentage:
    # Determines the percentage to apply Target Time requirements.
    # 
    # When the requirement mode is set to random per level, the specified percentage will act as the minimum possible.
    # 
    # The game doesn't provide target times. Base Target Times were determined by taking the 10th time on the leaderboard and multiplying it by 2.5.
    # Experiment to find a percentage that suits your skill level.
    # 
    # The Severed Steel Archipelago client will display the appropriate Target Time when a level is loaded under the Severed Steel tab.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 250
    125: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-250: 0 # random value between 50 and 250

  ################
  # Item Options #
  ################
  include_overpowered_items:
    # If enabled, level-specific items granting you abilities that could be considered overpowered will be added to the pool.
    # 
    # Overpowered Items are the following:
    # - Unlimited Ammo
    # - Unlimited Cannon Ammo
    # - Invincibility
    # 
    # This option will get force-disabled if the level count is under 20 as generation may fail to place all of them.
    'false': 0
    'true': 50

  ####################
  # Gameplay Options #
  ####################
  invincible_mode:
    # If enabled, the player character will be invincible at all times. Sometimes you just want to style on enemies...
    'false': 50
    'true': 0

  ################
  # Trap Options #
  ################
  trap_percentage:
    # Determines what percentage of filler items will get converted to trap items.
    # 
    # Trap Items are made up of the following types:
    # - Post-Processing Effects (Black and White, Bloom, Chromatic, Color Inversion, Mobile Game, Tunnel Vision)
    # - Time Dilation Effects (Fast-Mo)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  trap_weights:
    # Determines the relative weights of each Trap Type if Trap Percentage is greater than 0.
    # 
    # Each weight is required to be zero or more.
    Black and White Trap: 1
    Bloom Trap: 1
    Chromatic Trap: 1
    Cinematic Trap: 1
    Color Inversion Trap: 1
    Fast-Mo Trap: 1
    Mobile Game Trap: 1
    Tunnel Vision Trap: 1

  trap_duration:
    # Determines how long each trap will last (in seconds).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 300
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-300: 0 # random value between 20 and 300

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
